package com.zy.cat.service;

import com.zy.cat.entity.dev.act.CatDailyDrawAwardeeOrder;
import com.zy.cat.entity.dev.act.CatDailyDrawDetail;
import com.zy.cat.entity.dev.act.CatDailyDrawHistory;
import com.zy.cat.entity.dev.act.CatDailyDrawResult;
import com.zy.cat.entity.dev.act.resp.APPActDBHistoryResp;
import com.zy.cat.entity.dev.act.resp.APPActDBInfoResp;
import com.zy.cat.entity.dev.act.resp.CatDailyDrawDetailResp;
import com.zy.cat.entity.dev.act.resp.CatDailyDrawListResp;
import com.zy.cat.entity.dev.act.resp.CatDailyDrawListResp.Prize;
import com.zy.cat.entity.resp.Pages;
import com.zy.cat.entity.resp.RSPE;
import com.zy.cat.entity.resp.ResultPage;

public interface CatDevActService {

	/**
	 * 
	 * @info 获取用户免费抽的信息
	 * @author Link
	 * @date 2020-04-21 09:27
	 * @param pid
	 * @return
	 */
	APPActDBInfoResp getDbInfo(String pid);

	/**
	 * 
	 * @info 免费抽-开始抽奖
	 * @author Link
	 * @date 2020-04-21 09:27
	 * @param cindex
	 * @param sid
	 * @param pid
	 * @return
	 */
	RSPE<Object> getDbStart(int cindex, String sid, String pid);

	/**
	 * 
	 * @info 获取免费抽个人参与记录
	 * @author Link
	 * @date 2020-04-21 09:27
	 * @param pid
	 * @param dstatus
	 * @param pages
	 * @return
	 */
	ResultPage<APPActDBHistoryResp> getDbList(String pid, Integer dstatus, Pages pages);

	/**
	 * 
	 * @info 获取免费抽中奖记录
	 * @author Link
	 * @date 2020-04-21 09:27
	 * @param pid
	 * @param dstatus
	 * @param pages
	 * @return
	 */
	ResultPage<APPActDBHistoryResp> getDbRList(String pid, Pages pages);

	/**
	 * 获取天天抽奖信息
	 * @author lipengchao
	 * @date 2020-08-26 10:31:22 
	 * @param pid
	 * @param drawStatus
	 * @return
	 */
	CatDailyDrawListResp getDailyDrawInfo(String pid);

	/**
	 * 天天抽奖查询中奖记录
	 * @author lipengchao
	 * @date 2020-08-26 02:31:48 
	 * @param pid
	 * @param type
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	ResultPage<Prize> getDailyDrawList(String pid, Integer type,Integer drawStatus, Integer pageNum, Integer pageSize);

	/**
	 * 获取抽奖活动详情信息
	 * @author lipengchao
	 * @date 2020-08-26 03:40:07 
	 * @param pid
	 * @param drawId
	 * @return
	 */
	CatDailyDrawDetailResp getDailyDrawDetail(String pid, Integer drawId);

	/**
	 * 天天抽奖进行抽奖提升幸运值
	 * @author lipengchao
	 * @date 2020-08-26 04:34:02 
	 * @param drawId
	 * @param pid
	 * @return
	 */
	Integer addDailyDrawProbability(Integer drawId, String pid,CatDailyDrawHistory drawHistory,CatDailyDrawDetail drawDetail);

	/**
	 * 领取奖品,填写收货信息
	 * @author lipengchao
	 * @date 2020-08-28 10:52:08 
	 * @param drawId
	 * @param pid
	 * @param recipientName
	 * @param recipientPhone
	 * @param area
	 * @param address
	 * @return
	 */
	CatDailyDrawAwardeeOrder receiveDailyDrawPrize(CatDailyDrawResult drawResult, String recipientName,
			String recipientPhone, String area, String address);
}
